<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Mozilla/4.79C-CCK-MCD  [en] (X11; U; SunOS 5.7 sun4u) [Netscape]">
   <title>Package Summary </title>
<!--

          

        Copyright  2009  Sun Microsystems, Inc. All rights reserved.

-->
</head>
<body>
The Security and Trust Services API for J2ME defines four
optional packages to support smart card communication, generation of digital
signatures, and low-level cryptography operations.
<h2>
Generic Connection Framework</h2>
The smart card communication API is based on the Generic Connection Framework
in the <tt>javax.microedition.io </tt>package. Two smart card connection
interfaces are defined for establishing a connection with a smart card.
The <tt>APDUConnection</tt> interface is used to communicate with ISO7816-4
compliant smart cards. The <tt>JavaCardRMIConnection</tt> interface is
used to initiate a JCRMI session. These connections are defined in the
<tt>javax.microedition.apdu</tt>
and <tt>javax.microedition.jcrmi</tt> packages respectively.
<h2>
SATSA-APDU Optional Package</h2>
The optional package SATSA-APDU includes two components to support communication
with ISO7816-4 compliant smart cards using the APDU protocol.
<ul>
<li>
A subset of the <tt>java.lang</tt> package.&nbsp; It supports the exception
class <tt>UnsupportedOperationException</tt>, which is not included in
the CLDC API or the MIDP API.</li>

<li>
The <tt>javax.microedition.apdu</tt> package. It includes the interface
<tt>APDUConnection</tt>
to support APDU exchanges.</li>
</ul>

<h2>
SATSA-JCRMI Optional Package</h2>
The optional package SASTA-JCRMI includes four components to provide a
Java Card RMI client API:
<ul>
<li>
A subset of the <tt>java.lang</tt> package.&nbsp; It supports the exception
class <tt>UnsupportedOperationException</tt>, which is not included in
the CLDC API or the MIDP API.</li>

<li>
A subset of the <tt>java.rmi</tt> package in the Java 2 Platform, Standard
Edition to provide the basic RMI client interfaces. The subset includes
the <tt>Remote</tt> interface and the <tt>RemoteException</tt> class.</li>

<li>
The <tt>javax.microedition.jcrmi</tt> package. It includes the <tt>JavaCardRMIConnection</tt>
interface used to initiate a JCRMI session and interfaces used by the stubs
generated by the jcrmi stub compiler.</li>

<li>
A subset of the Java Card API. The subset includes the Exception classes
defined in the packages <tt>javacard.framework</tt>, <tt>javacard.framework.service</tt>,
and <tt>javacard.security </tt>. These exceptions may be thrown during
a method invocation of a Java Card object because of cryptographic errors
(the <tt>javacard.security </tt>package), card framework access errors
(the <tt>javacard.framework</tt> package) or errors detected in accessing
the card services (the <tt>javacard.framework.service </tt>package). Therefore,
the Java Card exception classes are included to provide the same behavior
when the method is invoked remotely.</li>
</ul>

<h2>
SATSA-PKI Optional Package</h2>
The optional package SATSA-PKI includes two components to provide generation
of digital signatures and basic user credential management (for example,
an X.509 certificate is a user credential that includes a public key).
<ul>
<li>
The <tt>javax.microedition.pki</tt> package. It supports generation of
certificate requests and local registration of the user credentials. The
user credentials are used in conjunction with other parameters to compute
formatted digital signatures. When deployed on the MIDP platform, this
package also includes the classes <tt>Certificate</tt> and <tt>CertificateException</tt>,
which are defined in the MIDP API.</li>

<li>
The <tt>javax.microedition.securityservice</tt> package. It supports generation
of application-level digital signatures that conform to Cryptographic Message
Syntax (CMS) format.</li>
</ul>

<h2>
SATSA-CRYPTO Optional Package</h2>
The optional package SATSA-CRYPTO is a subset of the Java 2 platform, Standard
Edition (J2SE) Cryptography API. When this optional package&nbsp;is implemented
on a CDC/FP based platform that already supports some of the classes in
this optional package, the whole API is the union of the API&nbsp;in the
CDC/FP and the API&nbsp;in the SATSA-CRYPTO&nbsp;optional package.
<ul>
<li>
The <tt>java.security</tt> and <tt>java.security.spec</tt> packages. They
provide the basic support for accessing public keys, computing digests,
and verifying digital signatures.</li>

<li>
The <tt>javax.crypto</tt> and <tt>javax.crypto.spec</tt> packages. They
provide the basic support for encryption and decryption of data.</li>

<li>
A subset of the j<tt>ava.lang</tt> package. It includes the exception class
<tt>IllegalStateException</tt>,
which is not included in the CLDC API or the MIDP API.</li>
</ul>

</body>
</html>
